const gm = require('gm');
const fs = require('fs');

/**
 * 
 * @param {url} 图片地址
 * @param {w} 截取图片宽度
 * @param {h} 截图图片高度
 * @param {x} 截取图片x坐标
 * @param {y} 截取图片y坐标
 * @param {isPercent} w和h参数 是否是百分比截取
 */
 function cut({imgUrl, w, h, x, y, isPercent}) {
  console.log('文件地址:', imgUrl);
  gm(imgUrl)
  // 2445 1750
  // 宽、高、x、y 1062、1053、  53.66   32.05
  .size(function (err, size) {
    var width;
    var height;
    if (err) {
      console.log('查看图片大小失败', err);
    } else {
      width = size.width;
      height = size.height;

      // 获取文件名
      let fileName = imgUrl.split('/').pop();

      gm(imgUrl).crop(w, h, width * x, height * y, isPercent)
      .write(`public/images/${fileName}`, function (err) {
          if (err) console.log(fileName + '图片裁剪完写入失败', err);
          if (!err) console.log(fileName + '  图片裁剪完写入成功');
      })
    }
  })
}

module.exports = cut;
